# uncompyle6 version 3.2.3
# Python bytecode 3.6 (3379)
# Decompiled from: Python 3.6.8 |Anaconda custom (64-bit)| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: site-packages\jinja2\__init__.py
"""
    jinja2
    ~~~~~~

    Jinja2 is a template engine written in pure Python.  It provides a
    Django inspired non-XML syntax but supports inline expressions and
    an optional sandboxed environment.

    Nutshell
    --------

    Here a small example of a Jinja2 template::

        {% extends 'base.html' %}
        {% block title %}Memberlist{% endblock %}
        {% block content %}
          <ul>
          {% for user in users %}
            <li><a href="{{ user.url }}">{{ user.username }}</a></li>
          {% endfor %}
          </ul>
        {% endblock %}


    :copyright: (c) 2017 by the Jinja Team.
    :license: BSD, see LICENSE for more details.
"""
__docformat__ = "restructuredtext en"
__version__ = "2.10"
from jinja2.environment import Environment, Template
from jinja2.loaders import (
    BaseLoader,
    FileSystemLoader,
    PackageLoader,
    DictLoader,
    FunctionLoader,
    PrefixLoader,
    ChoiceLoader,
    ModuleLoader,
)
from jinja2.bccache import (
    BytecodeCache,
    FileSystemBytecodeCache,
    MemcachedBytecodeCache,
)
from jinja2.runtime import (
    Undefined,
    DebugUndefined,
    StrictUndefined,
    make_logging_undefined,
)
from jinja2.exceptions import (
    TemplateError,
    UndefinedError,
    TemplateNotFound,
    TemplatesNotFound,
    TemplateSyntaxError,
    TemplateAssertionError,
    TemplateRuntimeError,
)
from jinja2.filters import environmentfilter, contextfilter, evalcontextfilter
from jinja2.utils import (
    Markup,
    escape,
    clear_caches,
    environmentfunction,
    evalcontextfunction,
    contextfunction,
    is_undefined,
    select_autoescape,
)

__all__ = [
    "Environment",
    "Template",
    "BaseLoader",
    "FileSystemLoader",
    "PackageLoader",
    "DictLoader",
    "FunctionLoader",
    "PrefixLoader",
    "ChoiceLoader",
    "BytecodeCache",
    "FileSystemBytecodeCache",
    "MemcachedBytecodeCache",
    "Undefined",
    "DebugUndefined",
    "StrictUndefined",
    "TemplateError",
    "UndefinedError",
    "TemplateNotFound",
    "TemplatesNotFound",
    "TemplateSyntaxError",
    "TemplateAssertionError",
    "TemplateRuntimeError",
    "ModuleLoader",
    "environmentfilter",
    "contextfilter",
    "Markup",
    "escape",
    "environmentfunction",
    "contextfunction",
    "clear_caches",
    "is_undefined",
    "evalcontextfilter",
    "evalcontextfunction",
    "make_logging_undefined",
    "select_autoescape",
]


def _patch_async():
    from jinja2.utils import have_async_gen

    if have_async_gen:
        from jinja2.asyncsupport import patch_all

        patch_all()


_patch_async()
del _patch_async
